﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web.UI.WebControls;
using Z16.BLI;

namespace Z16.SITE
{
    public partial class ListarPerfil : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if ((Session["CodPerfil"] == null) || (Session["CodUsr"] == null))
            {
                Response.Write("<script>window.location=\'Login.aspx';</script>");
                return;
            }

            if (!IsPostBack)
            {
                int? codPerfil = null;

                if (Request.QueryString["id"] != null)
                    codPerfil = int.Parse(Request.QueryString["id"]);

                CarregarPerfil(codPerfil);
            }
        }

        private DataTable CarregarPerfil(int? codPerfil)
        {
            Perfil perfil = new Perfil();
            DataTable tabela = null;

            try
            {
                tabela = perfil.ListarPerfil(codPerfil);
                GridView1.DataSource = tabela;
                GridView1.DataBind();
            }
            catch (Exception ee)
            {
                lblMensagem.Text = ee.Message;
            }
            finally
            {
                perfil = null;
            }
            return tabela;
        }

        protected void ExcluirMenu(object sender, GridViewDeleteEventArgs e)
        {
            int PerfilID = Int32.Parse(GridView1.DataKeys[e.RowIndex].Value.ToString());

            Perfil perfil = new Perfil();
            try
            {

                lblMensagem.Text = "Registro deletado com sucesso.";
                GridView1.DataSource = perfil.ListarPerfil(int.Parse(Request.QueryString["id"]));
                GridView1.DataBind();
            }
            catch (Exception ee)
            {
                lblMensagem.Text = ee.Message;
            }
        }

        protected void btnNovoPerfil_Click(object sender, EventArgs e)
        {
            Response.Redirect("addCadPerfil.aspx");
        }

        protected void btnPesquisar_Click(object sender, EventArgs e)
        {
            int? codPerfil = null;

            if (Request.QueryString["id"] != null && Request.QueryString["id"] != "")
                codPerfil = int.Parse(Request.QueryString["id"]);

            try
            {
                Perfil perfil = new Perfil();
                DataTable dt = perfil.ListarNomePerfil(txtPerfil.Text);

                List<DataRow> list = dt.AsEnumerable().ToList();

                if (list.Count > 0)
                {
                    var dem = list.First();

                    codPerfil = int.Parse(dem[0].ToString());
                }

                CarregarPerfil(codPerfil);
            }
            catch (Exception ee)
            {
                lblMensagem.Text = ee.Message;
            }
        }
    }
}